package com.yingxin.yxerp.module.common;

import com.yingxin.yx.framework.commons.exception.BizException;
import org.apache.commons.lang3.StringUtils;

/**
 * 发票数量计算
 */
public class InvoiceQtyHelper {

    public static long getQty(String begin, String end) {
        try {
            // startNo 不能为空
            if (StringUtils.isEmpty(begin)) {
                throw new BizException("开始发票号码不能为空");
            }
            long startNo = Long.parseLong(begin);
            if (startNo == 0) {
                throw new BizException("开始发票号码不能为0");
            }
            // endNo 可以为空
            if (StringUtils.isEmpty(end)) {
                end = "0";
            }
            long endNo = Long.parseLong(end);
            if (endNo == 0) {
                endNo = startNo;
            }
            // startNo > endNo
            if (startNo > endNo) {
                throw new BizException("开始发票号码不能大于结束发票号码");
            }
            return endNo - startNo + 1;
        } catch (Exception e) {
            throw new BizException("发票号码异常");
        }
    }
}
